Parameters
- arguments
Library/Library.Test/TestAssemblyRunner.cs
C# | Copy Code |
---|---|
Environment.CurrentDirectory = Path.GetDirectoryName(FileUtils.FindFullPath("cmd.exe")); using (AssemblyRunner runner = new AssemblyRunner(Exe)) { ManualResetEvent gotExit = new ManualResetEvent(false); runner.ProcessExited += delegate(Object o, ProcessExitedEventArgs e) { gotExit.Set(); }; Assert.IsFalse(runner.IsRunning); runner.Kill(); // always safe to call runner.Start("-wait"); Assert.IsTrue(runner.IsRunning); try //make sure we can't start twice. { runner.Start(); Assert.Fail(); } catch (InvalidOperationException) { } Assert.IsFalse(runner.WaitForExit(TimeSpan.FromSeconds(1), false)); runner.Kill(); Assert.IsFalse(runner.IsRunning); Assert.IsTrue(gotExit.WaitOne(30000, false)); } |
VB.NET | Copy Code |
---|---|
Environment.CurrentDirectory = Path.GetDirectoryName(FileUtils.FindFullPath("cmd.exe")) Using runner As New AssemblyRunner(Exe) Dim gotExit As New ManualResetEvent(False) runner.ProcessExited += Function(o As [Object], e As ProcessExitedEventArgs) Do gotExit.[Set]() End Function Assert.IsFalse(runner.IsRunning) runner.Kill() ' always safe to call runner.Start("-wait") Assert.IsTrue(runner.IsRunning) Try 'make sure we can't start twice. runner.Start() Assert.Fail() Catch generatedExceptionName As InvalidOperationException End Try Assert.IsFalse(runner.WaitForExit(TimeSpan.FromSeconds(1), False)) runner.Kill() Assert.IsFalse(runner.IsRunning) Assert.IsTrue(gotExit.WaitOne(30000, False)) End Using |
Target Platforms: Windows XP, Windows Server 2003, Windows Vista, Windows Server 2008, Windows 7
Reference
AssemblyRunner ClassAssemblyRunner Members
Overload List